package com.hou.vo;

import java.io.Serializable;

/**
 * Json格式的数据进行响应
 * 想以Json格式的数据进行响应这个类就要继承接口Serializable
 */
public class JsonResult<E> implements Serializable {
    /** 状态码 */
    private Integer state;
    /** 状态描述信息 */
    private String message;
    /** 对应的数据   数据类型不确定所以用泛型 E代表任意类型，用 */
    private E data;

    /** 构造方法是为了在后面为上面三个属性设置不同的值 */
    public JsonResult() {
//        super();
    }

    public JsonResult(Integer state) {
//        super();
        this.state = state;
    }

    /** 出现异常时调用 */
    public JsonResult(Throwable e) {
//        super();
        this.message = e.getMessage();
    }

    public JsonResult(Integer state, E data) {
//        super();
        this.state = state;
        this.data = data;
    }

    public JsonResult(Integer state, String message, E data) {
        this.state = state;
        this.message = message;
        this.data = data;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public E getData() {
        return data;
    }

    public void setData(E data) {
        this.data = data;
    }
}
